const express = require('express');
// 使用哪个包 引入哪个包
const bodyParser = require('body-parser');
const app = express();
// 托管静态文件
app.use(express.static('public'));
// 将public文件夹下的文件暴露公开，可以直接在浏览器中进行访问
// http://localhost:3000/html/index.html

// 使用body-parser
// 作用：将post请求体中的参数 挂载到req.body上
app.use(bodyParser.urlencoded({extended:true}));

// 前后端交互 发送请求 返回响应的一个过程
// 客户发送请求 服务器返回响应
// 路由
app.get('/test',(req,res)=>{
    // req:request 
    //参数 query  ?key=value&key=value
    //     params /值/值  但是前提在路径的配置当中必须有占位符
    // http://localhost:3000/test?name=tom&age=18
    console.log(req.query);
    res.send('一个男生只能娶一个媳妇！！');
})
// params
app.get('/testparams/:name/:age',(req,res)=>{
    // http://localhost:3000/testparams/jack/20
    console.log(req.params);
    res.send('男同胞的心理想的是：多多益善!');
})
// get请求测试的方式url form 收集数据发送ajax
// 
// post 请求 form  收集数据发送ajax
// get请求可以在url中直接进行测试而post不能在url中进行测试
// jquery文件放到你的项目文件当中
// 要写请求 前后台 有问题 跨域
// 协议名 域名 端口号 必须一致否则不同源 不同源的后果跨域

// file:///D:/a-jinsi-courseware/1.class%20course/4.w2203A/7.node/express_2203/public/html/index.html
// file协议  
// 请求的路径 http://localhost:3000/testpost
// 页面展示的路径：http://localhost:3000/html/index.html

app.post('/testpost',(req,res)=>{
    // 前台发送数据  后台接收
    // post的参数，直接使用req.body不能得到
    // 
    console.log(req.body)
    res.send('test这是一个post请求');
})
app.listen(3000,err=>{
    if(!err) console.log('服务器启动成功！！');
    else console.log(err);
})